import { createApp } from 'vue'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'


import App from './App.vue'
import router from './router'
import test from "@/plugins/test"

// 全局引入vant
// import vant from "vant";
// import 'vant/lib/index.css';

import 'vant/lib/index.css';

// 全局样式
import '@/styles/reset.scss'
import '@/styles/main.scss'

// console.log("main.js");


const app = createApp(App)

const pinia = createPinia(); //创建pinia实例
pinia.use(piniaPluginPersistedstate);  // 对pinia 引入数据持久化插件
app.use(pinia);  // 向根实例注入pinia


// app.use(createPinia());  // 创建并向根实例注入pinia
app.use(router)
// app.use(vant)

// app.use()  Vue3在根实例中引入插件的方法   (vue2   Vue.use())
// 1. 插件可以是一个有install方法的对象   { install:}
// 2. 插件可以是一个函数  => 作为install方法被调用

// 将 全局组件 指令 混入 属性/方法 依赖注入 => 分离出去  => 然后在main.ts 中 app.use()

// function plugin(app:any,options:any){
//     console.log("插件函数执行了",app);
//     console.log("插件函数执行了",options);
// }


// app.use(test,{a:1,b:2});  // 如果传入的参数是一个对象  app.use()会调用对象的install方法同时传递两个参数  当前实例  配置信息
// app.use(plugin,{x:10,y:20});


app.mount('#app')
